；；
力扣 1652
你有一个炸弹需要拆除，时间紧迫！你的情报员会给你一个长度为 n 的 循环 数组 code 以及一个密钥 k 。
为了获得正确的密码，你需要替换掉每一个数字。所有数字会 同时 被替换。
如果 k > 0 ，将第 i 个数字用 接下来 k 个数字之和替换。
如果 k < 0 ，将第 i 个数字用 之前 k 个数字之和替换。
如果 k == 0 ，将第 i 个数字用?0?替换。
由于 code 是循环的， code[n-1] 下一个元素是 code[0] ，且 code[0] 前一个元素是 code[n-1] 。
给你 循环 数组 code 和整数密钥 k ，请你返回解密后的结果来拆除炸弹！
；；
@位序转换 = @【#序，#长】｛
    如果 #序 大于等于 #长｛
        返回 #序 % #长
    ｝再则 #序 小于 0 ｛
        返回 （#长 + #序 % #长）% #长
    ｝否则｛
        返回 #序
    ｝ 
｝

@密码转换 = @【#集，#位】｛
    #结果：【】
    当 #序：0，#序 小于 @取长度【#集】，#序 自加 1 ｛
        如果 #位 等于 0 ｛
            @追加【#结果，0】
        ｝否则 ｛
            #步长：1
            如果 #位 小于 0｛
                #步长 = -1
            ｝
            
            #和：0
            #次：0
            当 #次 不等于 #位 ｛
                #次 自加 #步长
                #和 自加 #集#【@位序转换【#序+#次，@取长度、#集】】
            ｝
            @追加【#结果，#和】
        ｝
    ｝
    返回 #结果
｝
@显示、@密码转换【【2,4,9,3】，-2】



